import request from '@/api/axios'
import {AxiosPromise} from 'axios'
import {DataRes} from '@/api/config'
import {BasePhysicalExamination} from './index'

/**
 * @description: 表单属性
 * @return {*}
 */
export interface MainHealthProblems extends BasePhysicalExamination {
  cereDiseCheckbox: string[] // 脑血管疾病勾选
  cereDise: string // 脑血管疾病
  cereDiseOthers: string | null // 脑血管疾病其他信息
  kidneyDiseCheckbox: string[] // 肾脏疾病勾选
  kidneyDise: string // 肾脏疾病
  kidneyDiseOthers: string | null // 肾脏疾病其他信息
  heartDiseCheckbox: string[] // 心脏疾病勾选
  heartDise: string // 心脏疾病
  heartDiseOthers: string | null // 心脏疾病其他信息
  vascuDiseCheckbox: string[] // 血管疾病勾选
  vascuDise: string // 血管疾病
  vascuDiseOthers: string | null // 血管疾病其他信息
  eyeDiseCheckbox: string[] // 眼部疾病勾选
  eyeDise: string // 眼部疾病
  eyeDiseOthers: string | null // 眼部疾病其他信息
  nervousDise: string // 神经系统疾病
  nervousDiseExist: string | null // 神经系统疾病信息
  otherDise: string // 其他系统疾病 - 1、未发现 ，2、有 3.高血压 4糖尿病
  otherDiseRedio?: string // 其他系统疾病 - 1、未发现 ，2、有
  otherDiseExist?: string | null // 其他系统疾病信息
}

// 剔除后端不要的属性
export type MainHealthProblemsParams = Omit<MainHealthProblems, 'cereDiseCheckbox' | 'kidneyDiseCheckbox' | 'heartDiseCheckbox' | 'vascuDiseCheckbox' | 'eyeDiseCheckbox'>

/**
 * @description: 保存一般状况
 * @param {MainHealthProblems} data
 * @return {*}
 */
export const saveMainHealthProblems = (data: MainHealthProblemsParams): AxiosPromise<DataRes<undefined>> => {
  return request({
    url: '/api/healthyDisease/save',
    method: 'post',
    data
  })
}

/**
 * @description: 根据体检登记表id获取一般状况数据
 * @param {string} checkupRegisterId
 * @return {*}
 */
export const getMainHealthProblems = (checkupRegisterId: string): AxiosPromise<DataRes<MainHealthProblems>> => {
  return request({
    url: `/api/healthyDisease/get/${checkupRegisterId}`,
    method: 'get'
  })
}

/**
 * @description: 拒检一般状况
 * @param {BasePhysicalExamination} data
 * @return {*}
 */
export const rejectMainHealthProblems = (data: BasePhysicalExamination): AxiosPromise<DataRes<undefined>> => {
  return request({
    url: '/api/healthyDisease/reject',
    method: 'post',
    data
  })
}
